/**
 * 把一个异步函数包装起来，一旦出错，自动把错误交给 Express 的全局错误处理中间件。
 * @returns 返回一个新的函数，这个新函数就是 Express 路由中要用的中间件。
 * @param fn
 */
module.exports = (fn) => (req, res, next) => {
  fn(req, res, next).catch((err) => next(err)) // 把错误传递到全局错误处理中间件中。
}
